// pages/upload-invoice/upload-invoice.js

var utils = require('../../utils/utils.js');
var modal = require('../../utils/modal.js');
var request = require('../../utils/request.js');
var config = require('../../config.js');
Page({

  /**
   * 页面的初始数据
   */
  data: {
    id: '',
    num: '',
    points: '',
    right: '../../images/right.png',
    vehicleImg: '',
    fmtDate:'',
    date:''
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    this.setData({
      id: options.id,
      points: options.amount,
      num: options.number,
      fmtDate: options.fmtDate,
      date: options.date
    })
  },

  uploadVehicleImgCallback(e) {
    var vehicleImg = e.detail && (e.detail.data.image_url || '');



    //有服务的时候
    var that = this;
    var data = {
      "img_url": vehicleImg, // 上传发票的地址 url
      "img_type": "2" // 发票类型：2
    }
    modal.loading()
    request.post({ path: config.analysis}, data).then(res => {
      modal.hide()
      if (res.data.ret == 0) {
        that.setData({
          num: res.data.data.data.no,
          points: res.data.data.data.amount,
        })
      }
      modal.toast(res.data.msg)
    })

  },
  clearNoNum(value) {
    value = value.replace(/[^\d.]/g, "");  //清除“数字”和“.”以外的字符
    value = value.replace(/^\./g, "0."); //如果第一位就是. 变成0.
    value = value.replace(/\.{2,}/g, "."); //只保留第一个. 清除多余的   
    value = value.replace(".", "$#$").replace(/\./g, "").replace("$#$", ".");
    value = value.replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3');//只能输入两个小数   
    if (value.indexOf(".") < 0 && value != "") {//以上已经过滤，此处控制的是如果没有小数点，首位不能为类似于 01、02的金额  
      value = parseFloat(value.substring(0, 5));//最长整数位5位数
    }
    return value;
  },
  formSubmit(e) {
    //有服务的时候
    var that = this;
    var formdata = e.detail.value
    if (!formdata.num) {
      modal.toast('发票号不能为空')
      return false;
    }
    if (!this.clearNoNum(formdata.points)){
      modal.toast('发票金额不能为空')
      return false;
    }
    var data = {
      "_id": this.data.id, //唯一id
      "invoice_number": formdata.num,        // 发票编号
      "invoice_amount": this.clearNoNum(formdata.points),           // 发票金额
    }
    request.post({ path: config.saveInvoice }, data).then(res => {
      if (res.data.data.result) {
        modal.toast('提交成功')
        setTimeout(function () {
          wx.navigateTo({
            // url: `../work-center/work-center?fmtDate=${that.data.fmtDate}&date=${that.data.date}`,
            url: `../work-center/work-center?type=2`,
          })
        }, 1000)
      }

    })

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})